
#pragma once

#include <memory>

#include "picture.h"

class CVideoAccelerationSys
{
public:
    //关注va和va module之间交互的方式，设计相应接口，包括数据和过程抽象
    virtual int get(std::shared_ptr<CPicture>& pic, uint8_t **data) = 0;
};

class CVideoAcceleration
{
public:
    int get(std::shared_ptr<CPicture>& pic, uint8_t **data)
    {
        return m_spVaSys->get(pic, data);
    }
protected:
    std::shared_ptr<CVideoAccelerationSys> m_spVaSys;
};